 /*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.ipartek.formacion.gestformwww.modelo;

import com.ipartek.formacion.gestformwww.modelo.beans.FiltroMaterial;
import com.ipartek.formacion.gestformwww.modelo.beans.Material;
import com.ipartek.formacion.gestformwww.modelo.beans.excepciones.GestorFormacionExcepcion;
import com.ipartek.formacion.gestformwww.modelo.clases.DAOFactory;
import java.util.ArrayList;

/**
 *
 * @author Ekaitz,Santi
 * La clase material, hace referencia a la tabla libro de la BD
 */
public class ModeloMaterial {

    private DAOFactory factoria = null;

    public ModeloMaterial() {
        factoria = DAOFactory.getDAOFactory(DAOFactory.SQLSERVER);
    }

//     public int contarCursos(FiltroMaterial filtro) throws GestorFormacionExcepcion {
//        return factoria.getICursoDAO().contarCursos(filtro);
//    }
    public ArrayList<Material> listarMateriales(FiltroMaterial filtro) throws GestorFormacionExcepcion {
        return factoria.getIMaterialDAO().listarMateriales(filtro);
    }

    public void borrarMaterial(Material material) throws GestorFormacionExcepcion {
        factoria.getIMaterialDAO().borrarMaterial(material);
    }

    public int insertarMaterial(Material material) throws GestorFormacionExcepcion {
        return factoria.getIMaterialDAO().insertarMaterial(material);
    }

    public void modificarMaterial(Material material) throws GestorFormacionExcepcion {
        factoria.getIMaterialDAO().modificarMaterial(material);
    }

    public void modificarStockMaterial(int idMaterial, int Cantidad) throws GestorFormacionExcepcion {
        factoria.getIMaterialDAO().modificarStockMaterial(idMaterial, Cantidad);
    }

    public int contarMaterial(FiltroMaterial filtro) throws GestorFormacionExcepcion {
        return factoria.getIMaterialDAO().contarMaterial(filtro);
    }

    public Material getMaterial(int idMaterial) throws GestorFormacionExcepcion {
        return factoria.getIMaterialDAO().getMaterial(idMaterial);
    }
}
